达尔闻加油站,充分利用你的碎片时间涨知识。
本期加油站解析题目来源大疆硬件逻辑岗,共4道选择题,涉及知识点包含:逻辑门电路搭建、逻辑表达式以及寄存器寻址。
上一期我们给大家预留的大疆FPGA逻辑岗B卷的四道单选题,可以看到大疆逻辑岗的题目种类繁多。今天这解析这四道题都是不同类型的,虽然每一个题目都不是很难,但是想要全部做对还是不容易的,如果没有做对的或者知识点了解不全面的就来看看今天的解析吧。
6、如果只使用(2选1MUX)完成异或门逻辑,最少需要多少个MUX( )。(大疆FPGA逻辑岗B卷)解析:本题目主要考察了数字电路中逻辑之间互相构建的问题题目要求用2选1多路器构建异或门逻辑,而且问最少需要多少个2选1多路器。首先要找对思路,我们知道异或逻辑和2选1多路器都不是最简单的门电路结构,那什么是最简单的门电路结构呢?一般我们理解与门、或门、非门、传输门这些才是,再细分它们的组成就到晶体管级了。我们可以让2选1多路器构成这些最简单的门电路,如下所示:
而异或逻辑是当两个输入信号A、B的值都不同才为1。其逻辑表达式用2选1多路器表达应为:A?(B?0:1):(B?1:0),其电路结构如下所示:
但是我们再仔细观察发现这并不是最简单的结构,上图中间的2选1多路器就是实现的传输门的作用,所以可以直接换成B,变为如下所示的电路结构,所以答案选C。7、对连续信号进行均匀采样时,采样频率是Ωs,信号最高截止频率为Ωc,折叠频率是( )。(大疆FPGA逻辑岗B卷)如果连续时间信号的频谱分量的最高频率Ωc超过Ωs/2,那么各周期延拓分量在频率轴上将发生频谱的混叠现象。换句话说,为了使采样后的样本能够不失真的重构原始信号,那么采样频率必须大于两倍于原始信号频谱的最高频率。将1/2 Ωs称为折叠频率,或尼奎斯特频率,记为ΩN,Ωc是信号频谱的最高频率(所以本题答案选择D)。因此我们可以得出一个重要的定理——采样定理:一个连续信号,如果其最高频率成分为Ωc,则其采样频率Ωs必须大于(或等于)信号最高频率的两倍,或者说,离散信号频谱的折叠频率ΩN必须大于(或等于)信号的最高频率Ωc。一般实际工作中,为了避免频谱混淆,采样频率总是选得比信号最高频率大两倍,一般选到三至四倍。同时为了避免高于折叠频率的杂散频谱进入采样器,造成频谱混叠,在采样以前常常加一个保护性的前置低通滤波器,滤掉高于Ωs/2的频率分量,通常称为去假频滤波器。举个例子:当连续信号的最高频率fmax为200Hz,采样频率fs为250Hz时,这时对200Hz的频率成分平均每周期采样不足两个,它造成了频谱的混淆,200Hz的频率分量折叠过来,混叠在50Hz的频率分量上。200Hz频率分量与50Hz频率分量有相同的采样点,因此造成了假频现象,也就不能用离散信号的基带频谱重构出原始信号了。8、逻辑表达式A+BC=( )。(大疆FPGA逻辑岗B卷)解析:本题目主要考察了逻辑代数的基本公式和常用公式拿到这题,要思路清晰,可以从正反两个方向来解决。我们发现从题干中给出逻辑表达式来推出答案的结果并不容易,然后反推一下试试,可以看到4个选项中除了B之外都是最简的,所以我们尝试着把B选项的逻辑表达式化简。得到如下所示的结果:
如果没有想到这点我们也可以用一个比较“笨”的方法,就是把他们的真值表列出来,除了第2个选项的公式比较长以外,其余的都很容易列出,且只有三个输入变量,对应的有8种输入情况,下面就是题干中逻辑表达式和B选项的真值表对比。
另外,这种基本的逻辑题还是经常会出现的,对于这种简单的送分题一定要拿到分数。数电的书中也都为大家总结了一些基本的、常用的公式,如下所示:式(1)、(2)、(11)和(12)给出了变量与常量间的运算规则。式(3)和(13)是同一变量的运算规律,也称为重叠律。式(4)和(14)表示变量与它的反变量之间的运算规律,也称为互补律。式(8)和(18)是著名的德・摩根(De. Morgan)定理,亦称反演律。在逻辑函数的化简和变换中经常要用到这一对公式。式(9)表明,一个变量经过两次求反运算之后还原为其本身,所以该式又称为还原律。式(10)是对0和1求反运算的规则,它说明0和1互为求反的结果。
这些公式的正确性可以用列真值表的方法加以验证。如果等式成立,那么将任何一组变量的取值代入公式两边所得的结果应该相等。因此,等式两边所对应的真值表也必然相同。9、某寄存器的地址为addr,现在要求将此寄存器的值取反,下列正确的C语言描述是:( )。(大疆FPGA逻辑岗B卷)A (unsigned int **)(addr)= - (volatileunsigned int *)(addr)B *(volatile unsignedint *)(addr)= - (*(volatile unsigned int *)(addr))C (volatile unsigned int *)(addr)= -(*(volatile unsigned int *)(addr))D (volatile unsigned int *)(addr)= -(volatile unsigned int *)(addr)这题看着答案的代码有点长,其实是在STM32嵌入式开发中经常用到的语法。寄存器的地址为addr,需要先把addr转换成指针类型,然后再对指针解引用。(volatile unsigned int *)(addr)是把该寄存器的地址值强制转换成指针类型,然后前面再加“*”解引用,所以答案选B。
而volatile关键字在C语言中用于表示变量是易变的,要求编译器不要优化。这些结构体内的成员,都代表着寄存器,而寄存器很多时候是由外设或 STM32芯片状态修改的,也就是说即使 CPU 不执行代码修改这些变量,变量的值也有可能被外设修改、更新,所以每次使用这些变量的时候,我们都要求 CPU去该变量的地址重新访问。若没有这个关键字修饰,在某些情况下,编译器认为没有代码修改该变量,就直接从 CPU的某个缓存获取该变量值,这时可以加快执行速度,但该缓存中的是陈旧数据,与我们要求的寄存器最新状态可能会有出入。
下期预告
下期会解析4道FPGA逻辑题,同样来自大疆笔试题(FPGA逻辑岗)。10、关于网表仿真的描述正确的是:( )。(大疆FPGA逻辑岗B卷)A 为了保证芯片的正常工作,即使在时间和资源紧张的情况下,也需要将所有RTL仿真用例都进行网表仿真并且确保通过 B 网表仿真的速度比RTL仿真的速度更快 C 网表仿真不能发现实现约束的问题 D 网表仿真可以发现电路设计中的异步问题11、在芯片制造中,工艺结点分为28nm,12nm,7nm等,其中这些28,12,7的含义是指:( )。(大疆FPGA逻辑岗B卷)A 沟道深度 B 栅极宽度C 器件的高度 D 走线的间距12、关于数字通信的特点,下面描述不正确的是( )。(大疆FPGA逻辑岗B卷)A 抗干扰能力强,且噪声不积累B 易于集成,使通信设备微型化 C 易于加密,保密性好 D 比模拟通信占据更窄的系统频带,系统设备简单,对同步要求更低13、某集成电路芯片,其最大输出低电平VOL_max=0.1V,最大输入低电平VIL_max=1.5V,最小输出高电平VOH_max=4.9V,最小输入高电平VIH_max=3.5V,则其低电平噪声容限VNL=( )。(大疆FPGA逻辑岗B卷)A 1.4V B 1.6VC 2.0V D 1.2V14、以下哪些电路可以设置False_path( )。(大疆FPGA逻辑岗B卷)A 异步复位 B 异步电路 C 模拟和数字电路接口 D 不同频率之间的电路目前,我们正在通过大疆硬件岗和FPGA逻辑岗的题目,为大家带来笔试题的解析,以及知识的补充。如果有想要解析的题目,可以发给达尔闻安排。同时,欢迎加入达尔闻求职技术交流群,进群方式:添加妮姐微信(459888529),并备注求职,即可邀请进群。
达尔闻求职“加油站”系列:
华为硬件逻辑岗(FPGA)
紫光展锐数字IC岗(编程题)